<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
    <script>
        //利用构造函数创建对象
        //我们需要创建四大天王的对象 相同的属性:名字 年龄
        /* function 构造函数名(){
            this.属性=值;
            this.方法=function(){}
        }
        new 构造函数名(); */
        function Star(uname,age,sex){
            this.name=uname;
            this.age=age;
            this.sex=sex;
            this.sing=function(sang){
                console.log(sang);
            }
        }   
        var ldh=new Star('刘德华',18,'男');//调用函数返回的是一个对象
        // console.log(typeof ldh);
        console.log(ldh.name);
        console.log(ldh['sex']);
        ldh.sing('冰雨');
        var zxy=new Star('张学友',19,'男');
        console.log(zxy.name);
        //1.构造函数名字的首字母大写
        //2.我们构造函数不需要return就可以返回结果
        //3.我们调用构造函数必须使用new
        //4.我们只要new Star() 调用函数创建一个对象 ldh{}
        //5.我们的属性和方法前面必须添加this

        //new关键字执行过程
        //1.new 构造函数可以在内存中创建一个空的对象
        //2.this会指向刚才创建的空对象
        // 3.执行构造函数里面的代码 给这个空对象添加属性和方法
        //4.返回这个对象
    </script>
</head>
<body>
    
</body>
</html>